home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Power CD-ROM!! 8
/
Power CD-ROM 8.iso
/
docs
/
dvfaq23.txt
< prev
next >
Wrap
Text File
|
1994-12-11
|
87KB
|
1,775 lines
DESQview/QEMM Frequently Asked Questions
Release 23
Last update: December 1, 1994
Edited by Andrew Langmead
Posted on the first of every month
---------------------------------------------------------------------------
Section 0. FAQ Facts - An overview of this FAQ list
Q001: What is this article?
Q002: How is the FAQ arranged?
Q003: Where can I get the FAQ List?
Q004: To whom can I complain if I find an error?
Q005: What if I can't find it in the FAQ?
---------------------------------------------------------------------------
Q001: What is this article?
A001: This article is a regularly posted compendium of topics that have been
discussed in the Usenet newsgroup comp.os.msdos.desqview since its
birth. Although many of the questions are truly ``Frequently Asked'',
others are questions that experienced DESQview users recognize as
questions a beginner might ask. If you are new to DESQview or this
group, please read this FAQ before posting your question. Even if your
question isn't answered here, you'll probably learn something new about
DESQview.
Although I edit this FAQ ("Frequently Asked Questions"), a majority of
the information contained in it was contributed by other
comp.os.msdos.desqview readers. The many contributors are listed at the
end of the document.
Q002: How is the FAQ arranged?
A002: The FAQ consists of seven sections in the following order:
(0) FAQ FACTS is an overview of the FAQ itself. You are reading
it right now.
(1) QUARTERDECK AND ITS PRODUCTS briefly describes the products
and support services that Quarterdeck offers.
(2) THE DESQVIEW PRODUCTS answers questions common to all the
DESQview products: DESQview, DESQview-386 and DESQview/X.
(3) DESQVIEW CLASSIC is specific to the DESQview and DESQview-386
products.
(4) DESQVIEW/X answers questions specific to DESQview/X.
(5) QEMM answers questions related to Quarterdeck's memory
manager QEMM-386.
(6) CONTRIBUTORS lists the major contributors to this document.
Each section is preceded by a list of the questions in that section.
Because DESQview and DESQview/X are close cousins, many of the
questions are common to both and are answered in section 2.
Because Quarterdeck sells a variety of DESQview products, the term
"DESQview" can be vague. In this FAQ list, "DESQview" refers to any of
the DESQview packages that Quarterdeck sells. References to specific
packages will be made with either the package name or with a shorthand
notation:
DVC refers to the original DESQview package, now informally
called ``DESQview Classic''.
DV386 refers to DESQview/386 or the DESQview Classic and QEMM-386
combination (see Q101).
DVX386 refers to DESQview/X-386.
DVX286 refers to DESQview/X-286.
DVX refers to both DESQview/X-286 and DESQview/X-386.
At the end of some of the questions, there may be a note of the form
``QW:216:QRAM.TEC''. This is a cross reference to the Quarterdeck White
Papers, which are published by Quarterdeck. QW:216:QRAM.TEC refers to
Quarterdeck White Paper #216, file name QRAM.TEC. The White Pages are
available on Quarterdeck's BBS and on SimTel (see Q203).
Q003: Where can I get the FAQ List?
A003: This FAQ list is published in a number of places. In file archives, it
is named DVFAQx.ZIP, where ``x'' is the release number.
(1) its birthplace, the Usenet newsgroup COMP.OS.MSDOS.DESQVIEW as
NEWS.ANSWERS with the subject line ``DESQview/QEMM Frequently
Asked Questions: READ BEFORE POSTING'';
(2) all NEWS.ANSWERS archives, as ``desqview-faq'' (the only
exception to the naming rule); and
(3) SimTel and mirrors (see Q203) in the desqview directory.
Q004: To whom can I complain if I find an error?
A004: To me, at
aml@world.std.com
Please send me any and all suggestions, errors or criticisms.
Q005: What if I can't find it in the FAQ?
A005: First of all, take a look at the manual. This may seem obvious, but
you'd be surprised at the number of people that post problems which they
could have solved themselves by glancing at the manual.
If you still can't figure it out, post a complete description of your
problem. Don't just say, for example, ``foo.exe doesn't run''. Be
specific. Post the Change A Program screens, or portions of
AUTOEXEC.BAT or CONFIG.SYS if relevant. But use some restraint. Don't
post 18 pages of system configuration information just because you can't
get foo.exe to print ``Hello, world''.
---------------------------------------------------------------------------
Section 1. Quarterdeck and its Products - What Quarterdeck sells and how
to contact the company.
Q101: What products does Quarterdeck sell, and what are the current
versions?
Q102: How can I contact Quarterdeck?
Q103: What third-party books are available on Quarterdeck's products?
Q104: What are the command-line switches for Quarterdeck's products?
---------------------------------------------------------------------------
Q101: What products does Quarterdeck sell, and what are the current
versions?
A101: [Versions are the latest known as of the date of the FAQ. If you see a
newer version, please let me know.]
Quarterdeck has two types of ``upgrades'': major upgrades and
compatibility updates. The former involves a changing of the digit
before or immediately after the decimal point and represents significant
enhancements to the product's performance. The latter reflect minor
changes generally of interest to a small number of users.
DESQview (DVC) 2.63
An excellent DOS multitasker. If you are wondering why it has such
a funny name, here's the official explanation from Quarterdeck: the
original product was called DESQ (the Q was from Quarterdeck). When
Quarterdeck made it TopView-compatible (see Q305) the "view" was
added.
QEMM-386 7.5
A memory manager for 80386+ machines. QEMM will convert extended
memory to XMS memory (replacing HIMEM.SYS) and LIM EMS 4.0 memory.
With the associated utilities, you can load TSRs, device drivers,
and DOS data structures into high memory in order to gain
conventional memory for large programs. Manifest is provided with
QEMM. QEMM is a VCPI server and can also be a DPMI host with the
QDPMI product (see below). If you plan to use DESQview on a 386,
you should choose QEMM over other memory managers. It is smaller
and faster than other memory managers, can give you more upper
memory, and certain functions in DESQview will only work if QEMM is
the memory manager. It is also the only memory manager that allows
you to run Windows in Standard mode inside or outside of DESQview.
QDPMI 1.0
In conjunction with QEMM, QDPMI acts as a DPMI host for programs
that require DPMI. QDMPI is available to registered QEMM users
free of charge from the Quarterdeck BBS (see Q203) or for a nominal
price with documentation from Quarterdeck. QDMPI is now shipped
with QEMM-386.
QEMM-50/60 6.0 (not sure about minor version number)
Similar to QEMM-386, but specifically for PS/2 models 50 and 60
which are 80286-based machines. It will only work with certain
memory expansion boards and requires disabling of motherboard
memory. For more details, get the QOS tech note QEMM5060.TEC,
available from SimTel and other sites (see Q203).
DESQview/386 (DV386) 2.63
Actually DESQview/386 is a copy of DESQview and QEMM in the same
package. If you already have DESQview, purchasing QEMM will give
you DV386.
QRAM 2.0
A memory manager for 8088 through 80286 machines. QRAM will
provide UMBs (Upper Memory Blocks, memory greater than 640K but
less than 1024K). To do this requires either LIM EMS 4.0, EEMS, a
memory management chip or a 286 motherboard with C&T's NEAT, LEAP
or SCAT chip set. The UMBs can be used to load TSRs, device
drivers, and DOS data structures into high memory in order to gain
conventional memory for large programs. Manifest is provided with
QRAM. BTW, QRAM is pronounced like ``cram'' (I always called it
``kee-u-ram'').
MANIFEST 3.0
Manifest is a ``system information'' utility. It displays hardware
information, memory usage, internal DOS structures and much more.
The current version runs as either a DOS or a Windows application,
depending on which environment it it running.
DESQview Companions 1.1
A set of utility programs, including a calculator, datebook,
notepad, and terminal emulator.
DESQview/X-386 (DVX386) 2.0
DESQview/X-386 is DV386 with an industry-standard graphical user
interface. It contains an X-windows server, which allows you to
interact with X-windows programs running on Unix machines, or DOS
text and X clients running on other DESQview/X machines (see Q405).
Using the fonts provided, you can make use of your SVGA to have
many small 80x25 windows open on the screen simultaneously.
The DVX386 package contains DESQview/386 2.52, QEMM-386 6.03 and
Manifest 1.14. These versions are not available separately. It
also contains 4 DESQview/X Companions: an Application Manager (like
Window's Program Manager), a File Manager, the Adobe Type Manager
and an Icon Editor.
DESQview/X-286 (DVX286) (Rumored)
This will be DESQview/X for the 286. DVX286 will actually DVX386
packaged with QRAM. Quarterdeck hasn't released because of memory
difficulties.
OSF/Motif Window Manager 1.0
Replaces the native DESQview/X window manager for a different look
and feel.
OPEN LOOK Window Manager 1.0
Replaces the native DESQview/X window manager for a different look
and feel.
DESQview and DESQview/X programming tools
See Q204, Q404.
Sidebar 1.0
A Windows shell that replaces the Program Manager.
CleanSweep 1.0
Searches for unneeded or unused files from Windows applications.
These files can either be archived or deleted.
QW:186:QEMM5060.TEC, QW:216:QRAM.TEC, QW:266:DV&DVX.TEC
Q102: How can I contact Quarterdeck?
A102: Quarterdeck Office Systems
150 Pico Boulevard
Santa Monica, CA, USA 90405
Technical Support:
Phone: (310) 392-9701
Fax: (310) 399-3802
Sales:
Phone: (310) 392-9851
Fax: (310) 399-3802
Customer Service or Orders:
Phone: (800) 354-3222
QOS BBS: (310) 314-3227 (24 hours/day, 300-14400 BPS, 8 bits, No parity)
E-mail (for Tech Support):
Internet/Usenet/UUCP: support@qdeck.com
Quarterdeck BBS: Sysop
CompuServe: 76004,2310
BIX: QOS.REP2
MCI Mail: QUARTERDECK
Smartnet: DESQview Conference - Quarterdeck USA
Public Message forums for Quarterdeck Tech support:
QOS BBS: <T>echnical Support Message System
CompuServe: ``GO QUARTERDECK''
BIX: ``JOIN DESQVIEW''
SmartNet: DESQview Conference
FidoNet: DESQview Echo (currently no QOS support online)
RelayNet: DESQVIEW - Quarterdeck USA or Quarterdeck Canada
ILINK: Multitaskers
Usenet: comp.os.msdos.desqview - QOS techs are active
Ireland
-------
European Headquarters
Quarterdeck International Ltd.
B.I.M. House, Crofton Terrace
Dun Laoghaire, Co.
Dublin, Ireland
Phone: +353 1 2844-144
Fax: +353 1 2844-380
BBS: +353 1 2844-381
QFAX: +353 1 2844-383
Product Information/Registration Cards:
Phone: +353 1 2841-444
Fax: +353 1 2844-380
United Kingdom
--------------
Quarterdeck Office Systems UK Ltd.
Widford Hall, Widford Hall Lane,
Chelmsford, Essex, CM2 8TD, United Kingdom
Technical Support
Phone: + 01245 494940
Fax: + 01245 496941
QFAX + 01245 496931
Product Information/Upgrade/Registration Cards:
Phone: + 44 245 496699
Fax: + 44 245 495284
BBS: + 44 245 263898
Canada
------
Quarterdeck Office Systems Canada, Inc.
70 York St., Suite 1220
Toronto, Ontario M5J 1S9
Phone: +1 (416) 360-5758
Fax: +1 (416) 360-4885
Upgrades: +1 (800) 268-5181
Germany
-------
Quarterdeck Office Systems GmbH
Willstaetter Strasse 15
D-4000 Duesseldorf 11
Germany
Technical support:
Phone: +49 211 / 59790-40
Fax: +49 211 / 59790-60
QFAX +49 211 / 59790-65
Product info, upgrades:
Phone: +49 211 / 59790-0
Fax: +49 211 / 594126
France
------
Quarterdeck Office Systems S.A.R.L.,
4, Rue de General Lanrezac, 75017 Paris, France.
Technical Support
Phone: Int + 33 146-97-16-17
Fax: + 33 146-97-14-73
BBS: + 33 146-97-14-74
QFAX: + 33 144-09-00-81
Product Information/Upgrade/Registration Cards
Phone: + 33 144-09-03-91
Fax: + 33 144-09-03-47
Cyprus / Eastern Mediterranean
------------------------------
Quarterdeck Office Systems Middle East Ltd.
1 Souliou Street, Suite 103, Strovolos,
Nicosia, Cyprus.
Product Information/Upgrade/Registration Cards/Support
Phone: + 357 2311-630
Fax: + 357 2311-560
Spain
-----
Quarterdeck Office Systems S.A.,
Gran Via de les Courts, Catlanes, 617, 10-3A
08007 Barcelona, Spain.
Product Information/Upgrade/Registration Cards/Support
Phone: + 343-412-29-45
Australia
---------
Quarterdeck Office Systems Australia
500 Oxford Street, Plaza II
Bondi Junction, New South Wales 2022
Australia
Product Information/Upgrade/Registration Cards/Support
Phone: + 61-2-369-2711
Fax + 61-2-369-1912
Q103: What third-party books are available on Quarterdeck's products?
A103: ``DESQview - A Guide to Programming the DESQview Multitasking
Environment'', by Stephen R. Davis, M&T Books Publishing, 501
Galveston Drive, Redwood City, CA 94063. 346 pages. 1st Edition,
1989.
[This is a review from Quarterdeck. I've heard from others that this
books is really not that good and doesn't have many examples. Look it
over well before you spend any money.] A very good source on programming
in C using the DESQview API. This is a tutorial book with lots of
examples. Would be useful to programmers who find the QOS API manuals
somewhat daunting. All examples are in C, however there is lots of
general information which would be useful for developers programming in
any language. Available direct from M&T and bookstores which
specialize in technical works. Can be ordered from Quarterdeck order
line at (310) 392-9851 for $24.95 ($39.95 with disk - 5 1/4 inch only).
``The Official DESQview Sourcebook'', Larry Joel Goldstein, Bantam
Computer Books, 666 Fifth Ave., New York, NY 10103. 351 pages. 1st
edition - Sept. '89, price $22.95 ($27.95 Canada).
A comprehensive guide to the use of DESQview, QEMM and the DESQview
Companions. Contains a section on the DESQview API that may serve as
an introduction, but this is not a programmer's book. A useful adjunct
to the Quarterdeck manuals when you want similar information from
another view.
``DOS Beyond 640K'', Second Ed. James Forney, Windcrest Books, Division
of TAB Books Inc., Blue Ridge Summit, PA 17294-0850. 1989. 235
ISBN 0-8306-9717-9, ISBN 0-8306-3744-3 pbk. pages. Price $19.95.
Not a DESQview/QEMM book specifically, but an excellent book on the
subject of memory, with many references to DESQview and QEMM. Highly
recommended to users who really want to understand the use of memory in
their PCs.
``The Best Book of DESQview'', Jack Nimersheim, Howard W. Sams &
Company, 11711 North College, Suite 141, Carmel, IN 46032. 1st
Edition 1990, 396 pages. Price $24.95
A user-friendly guide to DESQview, the Companions, QEMM and Manifest.
Contains many tips and a good discussion of the DESQview Learn feature.
``Mastering DESQview'', Jonathan Kamin, Scott, Foresman IBM Computer
Books, 1900 E. Lake Avenue, Glenview, IL 60025. 1st Edition 1990,
387 pages. Price $24.95.
A comprehensive guide to the use of DESQview, with emphasis on hints and
techniques which enhance the use of DESQview. Special emphasis on
creative use of DESQview's Learn (macro) facility.
``Extending DOS,'' Ray Duncan, Charles Petzold, M. Steven Baker, Andrew
Schulman, Stephen R. Davis, Ross P. Nelson, Robert Moote,
Addison-Wesley Publishing Co., Second edition, 1992.
An excellent work on DOS memory usage and some of the options for
extending DOS. For advanced users and programmers. Quite a bit of
example source code included. Covers IBM PC Programming Architecture,
EMS, XMS, DOS Extenders, Windows, DESQview, VCPI, DPMI and Multitasking.
``DESQview Instant Reference,'' Paul J. Perry, 1991, Sybex, 166 Pages.
Price $9.95
This is a basic, short reference guide to DESQview, QEMM-386, and
Manifest. It covers up to versions 2.3 of DESQview and version 5.1 of
QEMM-386. It describes the use of all the DESQview functions, QEMM-386
switches, and switches for LOADHI, QEMM.COM, VIDRAM. All the
information provided is in the Quarterdeck manuals.
``Understanding DESQview,'' Richard Altman, 1991, Sybex, 307 pages.
Price $24.95
``DESQview Revealed'', Dave Williams, SAMS. $29.95, ISBN 0672300281.
Uses information from this FAQ. I've got a copy but I haven't
taken the time to review it yet...
``Memory Management for All of Us'', by John M. Goodman, Ph.D. SAMS,
1992. ISBN 0-672-27366-7. Price $29.95.
Discusses virtually all aspects of PC memory and memory management,
including how DESQview uses memory.
``XView Programming Manual,'' Dan Heller, etal., O'Reilly & Assoc. 586
pages. Price: $34.95
``X Window System Programming,'' Naba Barkakati, 1991, Howard W. Sams &
Co. 600 pages. Price: $29.95
Good introduction to X programming, with many helpful example programs.
Covers xlib, xt Intrinsics, and some discussion of OSF/Motif widgets is
provided.
``Introduction to the X Window System,'' O. Jones, 1989, P-H. Price:
$38.00
``The X Window System in a Nutshell'', 1990, O'Reilly & Assoc. Price:
$24.95
"USING DESQview/X", Kevin Reichard, 1993, MIS Press. Written by the
co-author of "USING X"
"Total Recall", G. Saxer & E. Sander, 1993, Osborne Press
Memory Management from a Quarterdeck perspective, written by
Quarterdeck VP Gary Saxer and Quarterdeck senior tech writer Ellen
Sander.
``DESQview: Everything You Need to Know'', Kamin, $22.95.
ISBN 1559582383
``Power of... DESQview/X'', Reichard, MIS Press. $27.95, ISBN 1558282572
[If you know of any more, please let me know]
QW:132:BOOKS.TEC
Q104: What are the command-line switches for Quarterdeck's products?
A104: The file qosswit3.zip from SimTel (see Q203) in the SimTel/msdos/qtrdeck/
directory contains a list of the documented and undocumented switches
for Quarterdeck's products.
QW:178:ALL-HELP.TEC
---------------------------------------------------------------------------
Section 2. The DESQview Products - Questions and answers common to
DESQview and DESQview/X
Q201: What are the DESQview products?
Q202: What types of programs can the DESQview products run?
Q203: Where can I get freeware and shareware programs for the DESQview
products?
Q204: I want to write software for the DESQview products. Where can I get
the API?
Q205: Can Windows run under the DESQview products?
Q206: When running Windows under DESQview, I get an ``Incorrect DOS Version''
message. How do I fix this?
Q207: How do I run a program every time DESQview is started?
Q208: I've heard that DESQview does preemptive multitasking. What does that
mean?
Q209: How can I increase the speed and performance of the DESQview
products?
Q210: Why do the other windows slow to a virtual halt when one window
accesses the floppy disk?
Q211: How can I upgrade my 80286 for best DESQview performance?
Q212: How can I increase the maximum available memory to programs running
in the DESQview products?
Q213: My {9600 or greater} BPS modem drops characters under DESQview. Is high
speed communication possible under DESQview?
Q214: What does ``Optimize Communications'' in DESQview's setup program do?
Q215: Why doesn't ANSI.SYS work in DESQview?
Q216: What do each of the four Protection Levels mean?
Q217: How can I load two or more shared programs in a window?
Q218: Why does my remote control program's screen mess up when I
switch windows?
---------------------------------------------------------------------------
Q201: What are the DESQview products?
A201: The DESQview products, specifically DESQview and DESQview/X, are
DOS-based multitaskers written by Quarterdeck Office Systems of Santa
Monica, California, USA. They allows true preemptive multitasking (see
Q9) on 8088, 8086, 80286, 80386, 80486, Pentium, V20 and V30 machines
running MS-DOS (see Q301, Q401). While MS-DOS is still considered the PC's
operating system, DESQview provides services similar to more advanced
multitasking operating systems.
QW:195:286.TEC, QW:266:DV&DVX.TEC
Q202: What types of programs can the DESQview products run?
A202: There are three types of DESQview programs: DESQview-oblivious
programs, DESQview-aware programs, and DESQview-specific programs.
According to the DESQview manual, DESQview-oblivious programs are
those which are ``written without any consideration for DESQview''.
These include standard DOS programs like word processors and
spreadsheets.
Some standard DOS programs have the ability to detect the presence of
DESQview. These programs are considered DESQview-aware. The
advantage of DESQview-aware programs is better system performance,
because DESQview does not have to make conservative assumptions about
the program. A DESQview-aware program gives up the CPU when it
doesn't need it, and if it writes directly to the screen it instead
writes to a DESQview-provided video buffer so it can run in a small
window (see Q305). If you'd like to make your program DESQview-aware,
there is code provided in Appendix J of the DESQview manual.
DESQview-specific programs can only be run while DESQview is active.
These programs use the window management, interprocess communication
and other services that are built into DESQview (called the DESQview
Applications Program Interface (API)).
DESQview will multitask all programs, regardless of type, with the
following exceptions: DOS Graphics programs which use protected mode
are suspended when placed in the "background" under DESQview, and all
DOS graphics programs are suspended when in the "background" under
DESQview/X.
Q203: Where can I get freeware and shareware programs for the DESQview
products?
A203: There are quite a few DESQview repositories available, depending on what
network access you have.
BBS
The official Quarterdeck BBS can be reached at (310) 314-3227. It
supports 1200-9600 baud, 8 data bits, no parity.
Fidonet
Many Fidonet nodes belong to DVNet, the DESQview File Distribution
Network. It is coordinated by Peter Stern at 1:355/38. A monthly
posting to the DESQview echo on Fidonet lists the nodes
participating in DVNet.
Internet (via anonymous ftp)
QDECK.COM [149.17.8.10]
QDECK.COM is the official Quarterdeck FTP site.
The Simtel Software Repository
For security reasons, the SimTel Software Repository is located on
a host that is not accessible by anonymous ftp users, however, its
files are available by anonymous ftp in directory /SimTel/msdos from
the primary the primary mirror site OAK.Oakland.Edu [141.210.10.117]
Three directories are of interest to DV/QEMM users:
/SimTel/msdos/desqview
Many DESQview programs, .DVPs, etc.
/SimTel/msdos/dv-x
DVX-specific programs, icons, etc.
/SimTel/msdos/qemm
QEMM programs, information
/SimTel/msdos/qtrdeck
Information relating to all Quarterdeck products. The
Quarterdeck White Pages are stored here as qw-sep92.zip.
They are very useful for solving problems.
/SimTel/msdos/djgpp
A freely distributable 32 bit compiler which Quarterdeck
has donated DESQview/X libraries.
Other directories may contain DESQview-aware (see Q202)
programs. In each of the three directories, the file
00_index.txt contains a list of all the files available in
that directory.
Other SimTel mirrors include
St. Louis, MO: wuarchive.wustl.edu (128.252.135.4)
Corvallis, OR: archive.orst.edu (128.193.2.13)
Australia: archie.au (139.130.4.6)
England: src.doc.ic.ac.uk (146.169.2.10)
Finland: ftp.funet.fi (128.214.248.6)
France: ftp.ibp.fr (132.227.60.2)
Germany: ftp.uni-paderborn.de (131.234.2.32)
Hong Kong: ftp.cs.cuhk.hk (137.189.4.57)
Israel: ftp.technion.ac.il (132.68.1.10)
Poland: ftp.cyf-kr.edu.pl (149.156.1.8)
Sweden: ftp.sunet.se (130.238.127.3)
Switzerland: ftp.switch.ch (130.59.1.40)
Taiwan: NCTUCCCA.edu.tw (140.111.1.10)
Thailand: ftp.nectec.or.th (192.150.251.33)
Gopher users can access the collection through
Gopher.Oakland.Edu. World Wide Web (WWW) and Mosaic
users can connect to the URL http://www.acs.oakland.edu
to access the files on OAK.Oakland.Edu.
Information distributed via Fidonet's DVNet is
available for anonymous FTP for 7 days from ftp.fidonet.org
under pub/fidonet in directories:
dvn-admn
dvn-apps
dvn-dev
dvn-dvp
dvn-tech
dvn-xapp
dvn-xdev
dvn-xdvp
dvn-xtec
Email-only
SimTel files may obtained by e-mail from various ftp-mail servers
or through the BITNET/EARN file servers. For details see file
/SimTel/msdos/filedocs/mailserv.inf or Keith Petersen's periodic
information postings to comp.archives.msdos.announce.
Q204: I want to write software for the DESQview products. Where can I get
the API?
A204: Programming under the DESQview API allows you to use all the
multitasking features of DVC and DVX - process and task creation,
interprocess communication and character window output.
The DESQview API is built into every copy of DESQview and DESQview/X as
INT 15h calls. A list of the documented and undocumented INT 15h calls
is available for free in DVINT, a DESQview/QEMM-specific excerpt of the
Interrupt List maintained by Ralf Brown.
Also for free is DVGLUE, a DESQview 2.01 API for Turbo C. DVGLUE and
DVINT make a good combination for freeware and shareware programmers who
want to get into DESQview programming at a small cost.
Recently, Quarterdeck has significantly reduced the prices for their API
and associated tools. The tools include the API reference manual ($25),
various language-specific libraries (C, Pascal, Dbase, etc., $100 each
including the API manual), a panel designer for screen layout, and other
tools (see Q102). Third party reference books are also available (see
Q20).
The prices above are Quarterdeck prices; the price on the street is
usually a lot better. One source of API tools is the Programmer's
Connection, at
Programmer's Connection, Inc.
7249 Whipple Ave. NW
North Canton, OH 44720-7143
1-800-336-1166 (US and Canada)
(216) 494-8715 (International)
(216) 494-5260 (FAX)
QW:211:APIBRO.TEC
Q205: Can Windows run under the DESQview products?
A205: Yes, Windows can run under DESQview, but only in Real and Standard
mode. Windows in Enhanced mode becomes an 80386 DPMI control program
and there can only be one such control program at a time.
Under DESQview/X, Windows can be run in a small window, because
DESQview/X can convert the Windows output into X requests. Page 143 of
the DVX manual discusses how to run Windows under DVX.
DESQview 2.6 now supports MS Windows in higher resolutions through the
use of DVWINMON.EXE (as does DESQview/X through XWINMON.EXE) This
driver is placed in the WIN.INI file, thusly:
WIN.INI contents extract:
[windows] ; load=C:\DVX\xwinmon.exe (commented version of DVX driver)
load=c:\dv\dvwinmon.exe ; DV 2.6 driver
This driver has been successfully tested with many drivers
including Trident, STB and Winspeed drivers at resolutions up to
1024x768x256
QW:170:WIN3.TEC, QW:242:WIN31.TEC
Q206: When running Windows under DESQview, I get an ``Incorrect DOS Version''
message. How do I fix this?
A206: Rather than using LOADHI FILES in AUTOEXEC.BAT, you must set FILES=15 or
so in CONFIG.SYS. Windows requires that some FILES be loaded low.
QEMM 7.0x (packaged with DVX 1.1 and DV386 2.6) contains a fix for
this Windows problem.
Q207: How do I run a program every time DESQview is started?
A207: Yes. There are basically two methods:
(1) Use the ! method in the script language.
(2) Use a batch file in the first (BD) window.
Method (1) is more useful in turnkey applications - method (2) is better
(i.e., more flexible) for general use.
To use method 1, do something like this:
copy con foo.dvt
{Learn {F12} "!Startup"}
...
{Finish}
^Z
convscr t foo.dvt desqview.dvs
(``...'' are your DV script commands to do what you want to do)
To use Method 2, get hold of one of the many ``start a window from the
command line'' utilities. One of these is RUN, part of the DVSI package
available on SimTel and mirrors (see Q203).
Then write a batch file that uses RUN to create the windows you need,
and put that batch file in the Program field of BD-PIF.DVP. Then you
can start up the windows just by hitting return twice when DV starts up
(assuming BD is the first program on your open menu). This is what I
do. Or, for total automation, you can make a startup script as above,
consisting of OBD.
Under DESQview/X, there is a third possible method. Edit the file
``DVX.CFG'' which is in the \DVX directory. Add the name of the DVP
(without the .DVP extension) to the CLIENT line. Or, use the SETUP
program which will edit DVX.CFG for you. DESQview/X assumes that the
DVP you specify in the CLIENT line is in the directory \DVX\DVPS.
QW:153:AUTOSCRI.TEC
Q208: I've heard that DESQview does preemptive multitasking. What does that
mean?
A208: Let's say you have one toy (the 80x86 processor in our case) and 5
children (5 programs that you want to run under DESQview
simultaneously). There are two ways that Dad (DESQview) can let each
child play with the toy.
(1) Dad gives the toy to one of the children, who plays with it until
she gets bored. Then she returns the toy to Dad, who gives it to one of
the other children. This repeats until all the children have played
with the toy, and then Dad starts over with the first child.
(2) Dad gives the toy to one of the children, and starts a timer. If
the child gets bored with the toy before the timer expires, she gives it
back to Dad. However, if she still holds the toy when the timer
expires, Dad reminds her that good children must share, and takes it
away from her. He then gives it to the next child and restarts the
timer. When all the children have played with the toy, Dad returns it
to the first child. She continues playing with it where she left off.
Sometimes one of the children may want to take the toy apart. Since none
of the other children wants to play with a disassembled toy, the child
will request that Dad not take away the toy until the child says he can.
In that way, the child can re-assemble the toy before any other child
gets it.
The first method is called ``non-preemptive'' and conversely, the second
is called ``preemptive''. It is generally agreed that preemptive
multitasking is much better because one program cannot accidently
``hog'' the CPU. One of the major technical differences between
DESQview and Windows is that DESQview preemptively multitasks all
programs, while Windows does non-preemptive multitasking of Windows
applications.
When a program running under DESQview calls a DOS or BIOS function, it
effectively ``disassembled the toy''. DESQview recognizes this and
temporarily suspends any other program that attempts to make a DOS or
BIOS call until the current DOS or BIOS call ends (see Q210).
DESQview-oblivious programs (see Q202) can act like selfish children when
they are waiting for keyboard entry. Even though they aren't playing
with the toy, they keep hold of it. Shareware and freeware programs are
available for forcing these programs to share the toy (see Q209).
QW:152:MULTI-T.TEC
Q209: How can I increase the speed and performance of the DESQview
products?
A209: DESQview's performance depends on many different factors. We will try
to highlight some of the important areas here.
DESQVIEW-OBLIVIOUS PROGRAMS
Performance is especially degraded by DESQview-oblivious programs
(see Q202), because they do not give up the CPU when they are not
doing useful work (see Q208).
Some programs, while waiting for keyboard input, continuously ask
if a keystroke is available instead of giving up the CPU.
Quarterdeck provides a way to force programs to give up the CPU
after a specified number of keystroke queries. One of the bytes in
the DVP file (the file edited by Change A Program) specifies the
number of keyboard polls before the CPU is taken away.
Unfortunately, Quarterdeck has never put a field on the Change A
Program screens to change this number. DvpEdit, a freeware
replacement for Change A Program, is available on SimTel (see Q203)
and allows you to change this ``Max Keypolls'' value.
Another well-known program is TAME. TAME does much more than watch
for keyboard polling; and can do a good job of increasing
performance.
System performance can be measured with the PS utility available in
the DVSI package (also on SimTel and DVNet). Using PS, an
offending program can be quickly identified.
DISK ACCESS
Since disk access can slow down the system significantly (see Q210)
using a disk cache can also increase performance. HyperDisk,
available on SimTel (see Q203), is especially popular among
DESQview users.
FOREGROUND/BACKGROUND TICKS
With the ``Tune Performance'' menu you can set the number of
foreground and background ticks. These numbers indicate how much
time DESQview is to allocate to a given task before moving on to
the next in a round-robin fashion. The default setting is 9:3,
which means DESQview gives the foreground task 9 ``ticks'', or
roughly half a second, of CPU time, then gives each of the
background tasks 3 ticks. A more common setting with today's
hardware is 1:1 or 2:2 -- each task gets 1 (or 2) ticks.
There's no single, optimal setting. Smaller numbers generally
provide smoother performance, but may overwhelm the CPU on less
powerful systems. In addition, time-sensitive applications like
communications programs may need to be serviced frequently by the
CPU. In short, experiment.
Setting 0 background ticks will cause background windows to never
run. Setting 0 foreground ticks will cause background windows to
run only if the foreground window explicitly gives up its
timeslice, or if it blocks (i.e. waits for a keystroke or other
event).
SCREEN DISPLAY
There are three primary reasons why your screen may appear jerky.
First, you may be virtualizing the window. While this prevents
bleed-thru (when used in conjunction with QEMM-386), it does
increase the workload on DESQview, and the screen output only
occurs at the end of the program's timeslice. If this is a problem
for you then configure your application to use BIOS screen writes
and turn virtualization off. Second, you may need to adjust your
tick settings. DESQview updates the screen display at the end of a
task's CPU allocation. Thus, a setting of, say, 99:99 will result
in extremely jerky screen updates compared with 2:2 or so. Third,
you may be unnecessarily using NOFF.SHP (see Q305).
DESQview/X is a GUI and therefore screen output is much slower.
This is due to the poor design of the PC's video. In order to get
better display performance, you may want to purchase a graphics
accelerator or coprocessor board.
Q210: Why do the other windows slow to a virtual halt when one window
accesses the floppy disk?
A210: Both DOS and the BIOS disk access functions are non-reentrant, i.e.
they may not be called again while one call is in progress. DESQview
thus handles both as ``serially reusable resources,'' and suspends a
window making such a call until any current call completes.
Since programs make many DOS calls other than disk I/O, they can become
blocked while another window is accessing the disk even when they
themselves are not trying to access the disk. The same suspension
occurs when a program accesses the disk via BIOS calls, but only when
some other window is also accessing the disk; thus, a non-disk DOS call
can execute at the same time as a disk-related BIOS call.
When the disk being accessed is a hard disk, the call completes so
quickly that there is no obvious degradation in the performance of other
windows. When accessing a floppy disk, however, the call can take
multiple seconds to complete, during which time it is highly likely that
other windows will be suspended for a noticeable length of time.
To minimize the impact of copying or formatting, try using shareware
programs such as DVCOPY, LTFORMAT and FDFORMAT (see Q203).
QW:230:DVFLOPPY.TEC
Q211: How can I upgrade my 80286 for best DESQview performance?
A211: A 80286 can be upgraded with LIM EMS 4.0 expanded memory, a memory
management chip, a plug-in 386 adapter, or a new 386 motherboard. The
cost of all these ``upgrades'' is about the same. All of them have some
negatives as well.
(1) If you are unsure how much of your 286 conventional memory can
disabled, getting LIM EMS 4.0 memory may not help you. For the record
the listed 286 motherboards can be set to the minimum conventional
memory as follows:
AST Premium 286 0K
IBM AT (6 Mhz) 256K
COMPAQ 286 256K
Most AT clones have a minimum of 512K (eighteen 256Kx1 DRAMs). The
motherboard can only be disabled to 256K or lower if it supports 64K
DRAMs, or if the system setup allows you to specify a value less than
the actual amount of memory installed.
If you have information on the minimum conventional memory of any other
286 motherboard, please forward it to the editor (see above).
(2) If you get a memory management chip, an All-Charge Card or a SOTA
POP, you will still not get the memory protection available with the
80386 (see Q301, Q401).
(3) If you get a 386 Adapter to replace the 286 CPU chip, there has been
``some reported'' compatibility problems. Also, it will not run as fast
the corresponding 386 motherboard of the same clock speed.
(4) If you get a new 386 (or 386SX) motherboard, there is some hassle to
get it installed and working but probably no more than with the 386
Adapter kits.
QW:195:286.TEC
Q212: How can I increase the maximum available memory to programs running
in the DESQview products?
A212: There are three easy steps: Free up conventional memory, steal the
video graphics area and trim DESQview's usage of memory.
FREE UP CONVENTIONAL MEMORY
---------------------------
The first step is to free up as much of the lower 640K as possible.
If you have a 386 or better, this is possible. Purchase QEMM if you
do not already have it; QEMM is smaller and much more effective than
DOS's EMM386 or other memory manager products. Also, QEMM is required
in order to do screen virtualization.
QEMM 7 has the ability to load DOS high; use QEMM's DOS-UP rather than
DOS's DOS=HIGH because QEMM can do a better job. If you do not use
DOS-UP, do not load DOS into the HMA. DESQview can make better use of
the HMA itself. If you load DOS high, add I=0800-0FFF to your QEMM
line in CONFIG.SYS.
Also, if you don't need graphics, you can use the VREMS parameter on the
QEMM line, and add VIDRAM ON to the DV.BAT file. This will give you
about 64k more for each window. DV.BAT should actually have a VIDRAM ON
before calling DV, and VIDRAM OFF after DV.
Experiment. Use Manifest to judge the results. If your high memory is
very fragmented (i.e. many small contiguous blocks rather than a few
large blocks), keeping DOS and TSRs low and putting DESQview high might
work better.
Using QEMM's STEALTH feature (ST:M is preferred) will buy you much
more memory, and is pretty much required for DVX.
Here's a neat trick to save memory under DVX. This is from David
Granz:
In order to use DV/X on a TCP/IP network, the FTP software TCP/IP
drivers must be loaded. Unfortunately, these TSRs can take up over
100K of precious DOS memory space. In addition a mouse driver is
needed (another 12-16K of memory used up). And then, DV/X itself
chews up a significant amount of DOS memory. Even with the new QEMM
stealth features that allow most of the upper memory space to be
used to LOADHI these TSRs, the memory actually left for a program
(or DOS window) under DV/X can end up being quite small. In my
particular setup, the best I was able to get was a 320K DOS window.
After much experimenting and some suggestions from Quarterdeck, I
have come up with the following procedures that allow you get very
close to a full 640K of program space in a DOS window (somewhat less
if you don't have a 8514 video card). Note that although this
method seems to work fine (for me at least), it is not in anyway a
supported method. Please DO NOT call Quarterdeck for help with this
setup, they are not supporting this technique at this time. If you
have problems with things crashing, put things back the way they
were before, and see if the problems go away. Then, if the crash
still occurs, you have a valid reason to call Quarterdeck.
Before doing any of the following modifications, make a safe copy of
\DVX\STARTUP.DVP and \DVX\DVPS\PCTCP.DVP. These copies can be used
to restore the system in case you have problems.
Step 1, Saving the space occupied by the MOUSE driver:
Create a file called \DVX\SERVER.BAT that contains the following
lines:
MOUSE (or whatever is needed to run your mouse)
SERVER
Then with the DVPMAN program (under DV/X), modify the file
\DVX\STARTUP.DVP. Change the reference to SERVER.EXE to SERVER.BAT.
Also increase the memory size by enough to cover the added size of
the mouse driver (about 30k should be plenty).
Modify your CONFIG.SYS and/or AUTOEXEC.BAT to not load the mouse
driver when you boot your computer.
Restart the computer, and then DV/X... The mouse driver should now
load in the process space of the server.
A 'mem/c' command in a DOS window, should show more memory
available and no copy of the mouse driver.
Step 2, Saving the space occupied by the TCP drivers:
In a manner similar to the above mouse modifications, you need to
create a batch file: \DVX\NETWORK\NETWORK.BAT. This batch file
should contain all the drivers and network programs needed to
support TCP/IP. The last step should be to run the 'nsftp'
program.
For example, my NETWORK.BAT looks like this:
c:\dvx\device c:\ftp\ifcust.sys
c:\dvx\device c:\ftp\ipcust.sys
c:\ncsa\drivers\wd8003e -w 0x62 7 0x280 0xD000
c:\ftp\ethdrv -t 20 -p 26 -u 2
nsftp
Using DVPMAN, modify the \DVX\DVPS\PCTCP.DVP parameters to run
NETWORK.BAT rather than NSFTP.EXE. You should add enough memory
allocation to allow for the extra memory of the network drivers.
In my case a 350K allocation seems to work fine but you may need
more.
Remove all the network drivers and TSRs from your CONFIG.SYS and
AUTOEXEC.BAT, and reboot DOS and DV/X.
If all goes correctly, the DOS windows under DV/X should now
contain none of the network drivers. With this arrangement I am
able to get about 550K available in the DOS window.
The only limitation of this arrangement, is that only Quarterdeck
supplied network programs (telnet, ftp, etc) will work. This is
because the network drivers are running in a different address
space than the DOS windows. The normal FTP software's and Packet
driver's access interrupts are not available in any process other
than the PCTCP process.
STEAL THE GRAPHICS VIDEO AREA
-----------------------------
In DESQview Classic, if you don't need graphics, you can use the VREMS
parameter on the QEMM line, and add VIDRAM ON to the DV.BAT file. This
will give you about 64k more for each window. DV.BAT should actually
have a VIDRAM ON before calling DV, and VIDRAM OFF after DV.
Under DVX, David Granz suggests:
If you have a 8514 type video card (I have a ATI Graphics Ultra),
you can get even more space for DOS programs. As an added
advantage, the video performance is much better with this card
(1024x768x256).
Add the 'VREMS' parameter to your QEMM386.SYS line in CONFIG.SYS.
This will allow the \QEMM\VIDRAM program to steal the address space
at A0000-AFFFF for DOS use.
Before starting DV/X, do a "\QEMM\VIDRAM ON" command. Just ignore
the message that DV/X cannot find a graphics card. DV/X will run
just fine without this video ram area. The DOS window will be 64K
bigger.
The only limitation of this, is that graphic programs (ie ones that
take over the entire screen) must not be run. Text programs and
programs that use X windows calls will work just fine.
TRIM DESQVIEW'S USAGE
---------------------
DESQview also sets aside a portion of conventional memory and calls it
``Common Memory''. The amount that DESQview allocates can be decreased
in DVSETUP, but the minimum is about 14K. Certain programs such as DVSI
(a set of shareware utilities by Dan Bodoh) require the amount of
Common Memory to be larger than the minimum. A large Open Window menu
or many ``shared programs'' will also increase the required amount of
Common Memory.
Each window has an area of memory called ``System Memory''. The
amount of System Memory available to a program is controlled by four
separate entries on the Change A Program screen. First, since
DESQview stores the window image in System Memory, decreasing the
number of text pages, and second, decreasing the maximum window
size both decrease System Memory usage. Third, since most programs do
not explicitly use System Memory, the System Memory field can be set
to 1K or 0K. Fourth, the script buffer size can be reduce if there
are no scripts attached to the window.
The pool of System Memory only reduces the maximum window memory for
that particular window, and does not affect the other windows. You can
see this using the Memory Status program. It will report, say, 592K of
conventional memory available, but part of that is used for System
Memory so the actual amount available is less.
Certain DESQview/X programs which use the built in DOS extender can
use the disk as memory. This is called virtual memory. You can
configure the DESQview/X Server to use virtual memory to save on real
memory. This will not increase the maximum window size, but it will
increase the number of programs that you can run simultaneously. To
do so, change the ``maxmem='' line in the \DVX\SERVER\XB16.VMC file
(XC16.VMC for the high-resolution server). This line specifies the
maximum number of kilobytes of real memory that should be used.
Increase the number to to increase speed; or decrease the number to
increase available memory. Note that DESQview/X gets flaky if the
number is less than 1000K or so. The default value of 1000K is
optimized for a 4 Megabyte machine.
QW:161:WINSIZE.TEC, QW:252:MAXWINDO.TEC
Q213: My {9600 or greater} BPS modem drops characters under DESQview. Is high
speed communication possible under DESQview?
A213: Yes, high speed communication is possible. First, you must go into the
DESQview setup program and set ``Optimize Communications'' to Y (see
Q214). If you still lose characters, you may have to get a new serial
board. The characters are coming in too fast for DESQview and your
communications program to process them.
The chip that controls serial communication is known by many names. On
an XT (or an 8-bit I/O board) it is an 8250. Most ATs contain the
16450. The problem with these chips is that they can only buffer one
character at a time, so if DESQview doesn't allow your communications
program to respond fast enough, you'll lose that character.
The solution is to get a board with the National Semiconductor PC16550CN
chip. This chip buffers up to 16 characters, so character loss is less
likely to occur. If you are the handy type, you can even swap your 8250
(or whatever) for the NS16550AN yourself, for the chips are
pin-compatible.
Do not get a 16550 non-A chip. It is an old, buggy chip. Also, Western
Digital makes a 16550 which is rumored to be buggy at speeds of 2400 BPS
or less.
Note that the 16550x will act like an 8250 unless you have software that
supports it. Most communication packages today do support the 16550x.
QW:237:COMMPROG.TEC
Q214: What does ``Optimize Communications'' in DESQview's setup program do?
A214: The cards that you install in your computer use ``hardware interrupts''
to tell the CPU that the card has or needs data. The hardware
interrupts are like grade school students raising their hand in class.
When the teacher recognizes a student with his hand up, that student
can ask/answer a question.
Like many teachers, DESQview has a ``teacher's pet.'' This pet is
hardware interrupt 0. If a bunch of hardware interrupts raise their
hands at the same time, DESQview will always recognize 0 first, then 1,
then 2, and so on.
However, most COM ports use hardware interrupt levels 3 and 4. So by
answering ``Y'' to ``Optimize Communications'', you force interrupt
level 3 to become the teacher's pet. DESQview will then recognize the
interrupts in this order: 3, 4, 5, ... 0, 1, 2. Rather than answering
``Y'', you can put in any interrupt number you prefer. For example, if
you answer ``5'', DESQview will recognize the interrupts in the order
5, 6, 7, ... , 0, 1, 2, 3, 4.
Setting ``Optimize Communications'' to ``Y'' can reduce or eliminate
dropped characters in communication programs (see Q213).
8086/8088 machines have 8 available hardware interrupts (0-7), while
80286+ machines have 16 (0-15).
QW:251:OPTCOM.TEC
Q215: Why doesn't ANSI.SYS work in DESQview?
A215: ANSI.SYS doesn't work inside DESQview because DESQview takes control of
all the screen writes. Quarterdeck has provided a solution, however.
Provided with DESQview is DVANSI.COM. Run this program in the window in
which you need ANSI.SYS.
QW:110:DVANSI.TEC
Q216: What do each of the four Protection Levels mean?
A216: In ``Change A Program'' or DVPMAN, you can set a program's protection
level. Here are the meanings:
Level 0 means no protection at all.
Level 1 will keep a process from locking interrupts for too long if the
WD parameter is set correctly in QEMM, and your hardware supports it.
Level 2 will bring up an error if a process writes outside of the memory
that DESQview thinks the process owns. If the process attempts this,
DESQview will ask the user if the process should be aborted,
unprotected, or be allowed to continue (but remain protected).
Level 3 will keep a process from reading outside of its memory, with a
similar interface as Level 2. It also grabs all interrupt vectors and
complains if the program points the vector outside of its memory
(including back at the original handler) and then calls it. Level 3
will crash Borland's floating point libraries.
If a program crashes with Level 0 it will also crash with Level 3 set,
but you might find out about it a little sooner, and it may prevent the
system from being locked up.
QW:120:PROTECT.TEC
Q217: How can I load two or more shared programs in a window?
A217: In Change A Program or DVPMAN, you can only list one shared program and
its data. To load more than one shared program, you must create a file
which lists the shared programs. Each shared program you want to load
requires two lines in the file -- one for the shared program name, and
one for the shared program data. For example, let's say you want to
load DGNASI.SHR and 1COPY.SHR. Create a text file called SHARED.TXT (or
whatever) with four lines that look like this (the parenthetical
comments should not be added):
DGANSI.SHR (line 1)
blah blah blah (Text that would be in ``Data'' field for DGANSI)
1COPY.SHR (line 3)
blah blah blah (Text that would be in ``Data'' field for 1COPY)
Then, in Change A Program or DVPMAN's "Shared Program" field, place the
name of this text file preceded by the ``+'' sign. In our case, we
would put
Shared Program
Pathname..: +C:\DV\shared.txt
Data......:
If the shared.txt pathname is not specified, it defaults to the
``Default Directory'' path in the DVP. However, the default place to
look for shared programs is always the DESQview directory.
---------------------------------------------------------------------------
Section 3. DESQview Classic - Questions and answers that pertain to
DESQview but not to DESQview/X
Q301: What type of computer system is required for DESQview?
Q302: Does DESQview support Super VGA or video coprocessors?
Q303: Can text and graphics be displayed at the same time with Hercules?
Q304: How do I use two monitors under DESQview?
Q305: What is NOFF.SHP {NOFF.SHR}?
Q306: Why does the mouse pointer disappear after running certain programs?
Q307: What are those files SWAP*.DV in my DV directory? Can I delete them?
---------------------------------------------------------------------------
Q301: What type of computer is required for DESQview?
A301: DESQview Classic can multitask programs on an 8088, 8086, 80286,
80386sx, 80386dx, 80486sx, 80486dx, V20 or V30.
8088/8086/80286/V20/V30
DVC will run in one of three ways one these machines. For
additional information, get the file DV286.ZIP from SimTel (see
Q7).
(1) If you have true hardware compatible LIM EMS 4.0 (or EEMS)
memory board and are able to disable some conventional memory, DVC
will remap expanded memory to conventional memory addresses to
multitask ``well-behaved'' programs in.
(2) If you use a plug-in memory management chip such as a
All-Charge Card or a SOTA POP card, it will provide the memory
mapping needed to allow DVC to multitask programs beyond 640K.
(3) If you have neither a LIM EMS 4.0 memory card or a memory
management chip, DVC will still multitask as many programs as
possible in the available conventional memory (see Q5).
Besides the memory problem, on a machine less than an 80386 and
without QEMM, DESQview will not be able to run programs in a small
window or in the background if the program writes directly to video
memory (see Q101). If the program has a switch to allow BIOS screen
output, use it, or convince the programmer to make the program
DESQview-aware (see Q202).
80386sx/80386dx/80486sx/80486dx/Pentium
DV386 (or the combination of DESQview and QEMM (see Q101)) and DVX386
will multitask programs in all of the available extended memory.
Although DVC can multitask on any machine, the minimum suggested
configuration is an 80386sx with 2 megabytes of memory and QEMM. For
breathing room, at least 4 megabytes of memory is suggested.
QW:195:286.TEC
Q302: Does DESQview support Super VGA or video coprocessors?
A302: Yes and no. When DVC is placing windows on the screen, it cannot use
any of the 132 column modes provided by Super VGA cards. The smallest
text font that DVC and DV386 provides to VGA+ users is 60 rows by 80
columns. Since video support is hardcoded into DVC and DV386, there is
no way to write a video driver for Super VGA cards.
Inside a window, any resolution can be used. The problem occurs when
you switch away from the window and come back. DESQview will corrupt
the window unless it has a resolution of 800x600x16 or less. Except in
rare cases, DESQview cannot handle 256 colors at more than 320x200. A
few cards will reportedly work at 1024x768x16 as well. Note that at
these higher resolutions, ``Graphics Pages'' in Change A Program must
be set to 4.
Q303: Can text and graphics be displayed at the same time with Hercules?
A303: Yes, as long as 90x43 mode display mode is used. If the graphics bleeds
through from the background, you can switch to 80x25 mode.
However, there is no way to detect whether or not the Hercules card is
currently in text or graphics mode if a program switches between these
two modes by manipulating the registers of the card. In this case
DESQview will not notice that the graphics mode has changed. Quarterdeck
has put a utility DVHERC on the distribution disk that is intended to
help users switch to the correct mode in such events. DVHERC is a TSR
program. However DESQview can sometimes be very stubborn and will not
recognize this change. In such cases it will again switch to the wrong
mode as soon as one switches to a different window.
QW:203:DVHERC.TEC
Q304: How do I use two monitors under DESQview?
A304: You can use two monitors only in DVC and DV386. DVX does not support
two monitors.
DVC and DV386 will only control one of your monitors, and by default all
programs will use the monitor that DESQview controls. There are a
number of ways to make programs start up on the ``other'' monitor. Since
you will usually want DESQview to control the color monitor (except
perhaps in the case of a CGA), the following discussion assumes that
DESQview is controlling the color monitor and not the monochrome
monitor.
First, you can use a batch file and include a ``MODE MONO'' statement to
switch the program to the monochrome monitor. Second, you can use the
``initial mode'' field to specify the monitor on which the program will
start (however, this setting is ignored unless you also set ``writes
directly to screen'' to Y and ``virtualize'' to N). By setting the
initial mode to 7, you force the program to use the monochrome monitor
until it explicitly switches monitors. Note that DESQview tends to stop
updating the monochrome screen while the program is in the background if
the program ever switches to the color display (including starting on
the color display with the first method above).
The initial mode can also be set to 21 or 22 for Hercules Graphics mode.
These modes only allow one page of mono graphics (see Q303). Mode 21 is
Page 0 at address B000h, and Mode 22 is Page 1 at address B800h. Hence,
Mode 22 is not available with two monitors (it conflicts with color
video).
Q305: What is NOFF.SHP {NOFF.SHR}?
A305: NOFF.SHR is an older version of NOFF.SHP. So what's NOFF.SHP?
DESQview is the child of an older IBM program called TopView. Because
Quarterdeck wanted DESQview to run all the old TopView programs, they
made DESQview compatible to TopView, in much the same way you can run
programs written for DOS 3.3 in DOS 4.0.
If a program writes directly to the video memory, TopView (and DESQview)
cannot run it in a small window. So IBM allowed programs to be TopView-
aware (similar to DESQview-aware (see Q202)) by giving them ``virtual''
video memory on request. This memory looks like video memory, but
characters written into it do not get displayed on the screen.
Since DESQview is a much smarter program that TopView ever was, DESQview
can automatically update the window from the virtual video memory. But
TopView did not have that ability. The TopView-aware program had to
make another call which would manually update the window from the video
memory.
Quarterdeck wanted to make DESQview look as much like TopView as
possible, so they decided that if a TopView-aware program makes this
call to update the window, then the automatic updating of DESQview would
be turned off.
DESQview can do a better job of updating the window from the virtual
video buffer than *some* programs. So the purpose of NOFF.SHP is to
capture the TopView update call before it gets to DESQview and not let
DESQview see the call. That way, DESQview never turns off the automatic
updating, and your window output is less jerky.
Whether or not you should use NOFF.SHP depends on how the TopView-aware
program updates its screen. If it changes only small parts of the
screen at a time but requests that the entire screen be updated, use
NOFF.SHP. But if the program tells TopView (DESQview) exactly which
part of the screen changed, output may look smoother without NOFF.SHP
because an automatic update doesn't take place until the end of each
program's time slice (see Q208).
Although NOFF.SHP is included in the Quarterdeck-supplied DVP for
Wordperfect, it is not required if you are using a 386 or better and you
turn on text virtualization.
QW:247:SHARED.TEC
Q306: Why does the mouse pointer disappear after running certain programs?
A306: If a DESQview-aware or DESQview-oblivious program (see Q202) uses the
mouse, DESQview must turn off its own mouse handling in that window.
Unfortunately, DESQview cannot detect when the program is finished with
the mouse, so your DESQview mouse pointer will never reappear while that
window has the keyboard.
Q307: What are those files SWAP*.DV in my DV directory? Can I delete them?
A307: They're used by DESQview to store your application when it gets swapped
to disk. If the file's date and time are older than the last time you
started DV then you can safely erase the files. There is no way to
restart an application using a swap file.
---------------------------------------------------------------------------
Section 4. DESQview/X - Questions and answers that pertain to
DESQview/X but not to DESQview Classic
Q401: What types of programs can DESQview/X run?
Q402: What type of computer is required for DESQview/X?
Q403: Does DESQview/X support Super VGA or video coprocessors?
Q404: How can I write or port X software for DESQview/X?
Q405: What do I need if I want to use DESQview/X's networking features?
Q406: Why don't the tilde(~) and accent grave (`) keys work in my
xterm window when running DESQview/X?
---------------------------------------------------------------------------
Q401: What types of programs can DESQview/X run?
A401: DESQview/X will run all DESQview-oblivious, DESQview-aware and
DESQview-specific programs that DESQview Classic will run (see Q102).
In addition, DESQview/X will run programs which have been written for
X-Windows and have been compiled under Quarterdeck's X Toolkit.
DESQview/X will allow a user to interact with other X-Windows programs
running on other (possibly non-DOS) machines on a network.
Q402: What type of computer is required for DESQview/X?
A402: DESQview/X requires an 80386sx, 80386dx, 80486sx, 80486dx or a
Pentium system with at least a 40 megabyte hard drive and 4 megabytes
of memory. Eight megabytes of memory or more is recommended,
especially for development work.
DVX will not run with anything less than a VGA card.
Q403: Does DESQview/X support Super VGA or video coprocessors?
A403: All DESQview/X output is in graphics mode, so it benefits greatly from
Super VGA. Performance is increased significantly with video
coprocessor cards. However, DESQview/X currently supports only a
limited set of VGA chip sets.
DESQview/X 1.0 supports the following SVGA chipsets:
Manufacturer Chipset Number Highest Resolution
---------------------------------------------------------------
ATI 28800 800x600
Chips and Technologies 82C451 800x600
Chips and Technologies 82C452 1024x768
Genoa VGA ET3000, 6400 800x600
Western Digital Imaging PVGA1a, WD90C00,WD90C10, WD90C11, WD90C31*
800x600
Trident 8800, 8900 800x600 (256 colors
unsupported)
Tseng Labs ET3000 800x600
Tseng Labs ET4000 1024x768
Headland Technologies VEGA 800x600
Headland Technologies V7VGA 1024x768
* The WD90C31 can support the modes of the WD90C11. DVX will NOT
detect its presence but you can put the values in using Setup /
Advanced / Display / VGA Custom
800 600 256 305C
and then save your changes.
8514/a and hardware compatibles and DGIS boards are also supported.
These boards significantly increase video speed (see Q209).
DESQview/X does not currently support the S3 chip, but may in the
future. However, you *may* be able to use the VESA 800x600x16 mode by
editing the DVX.CFG file and changing the ``screen'' line to ``screen
800x600:6ah'' You may also need to change the ``type VGA'' line to
``type VG8''. This is not guaranteed to work.
The TIGA interface is not yet supported, but will be in a future
release. However, the DGIS interface is supported.
For reference, here is an incomplete list of video coprocessor cards and
their compatibilities. If you know of any that are not in this list,
please forward the information to aml@world.std.com.
Model Chipset Manufacturer Driver Interface
---------------------------------------------------------------------
Desktop AGA 1024 TI TIGA, application
interface level drvr for 8514
ATI 8514/Ultra ATI 8514/A Relies on 8514 drvr
Spectragraphics Squeegee TI DGIS
National Volante AT1000 TI TIGA
SOTA 340i TI DGIS, adapter
interface compatible--8514
Appian Rendition II TI TIGA
ADEX 8514/AT256 Western Dig. 8514/A Relies on 8514 drvrs
Western Digital 8514/A W.D. 8514/A 8514
Hercules Graphics Station
Card GB 1024+2 TI TIGA
NEC Multisync
Graphics Engine TI DGIS
Nth Engine /150 Chips & Technology 8514 relies on 8514
HP Intelligent Graphics Controller 20 TI
TIGA, DGIS
Vermont Cobra Plus TI TIGA, adapter
interface compatible--8514
Artist XJS-1024 TI relies on TIGA
Rasterex Liberty 810AT TI TIGA, adapter
interface compatible--8514
Most TIGA & DGIS have custom drivers for their supported software eg.
WP, HG CAD
QW:148:VGA.TEC, QW:256:XVIDEO.TEC, QW:208:XGA.TEC
Q404: How can I write or port X software for DESQview/X?
A404: X Window programming allows you to write computer-independent
graphics interfaces. You can use some DESQview API programming in
X Window programming, but Quarterdeck has ported only part of the
API to protected-mode X programming.
Quarterdeck makes X Window Motif Toolkits for the following 32
bit compilers; Metaware, Watcom, and DJGPP. These toolkits
replace both the DESQview/X X11 Toolkit and the Quarterdeck
OSF/Motif Development Toolkit.
DJGPP, an MSDOS 386 port of the GNU C compiler is available on the
Internet. Quarterdeck released a DJGPP-compatible X library without
documentation for free with GNU C. The library contains the X11
portion of what they distribute in their commercial toolkits, but
without the Motif libraries. The following files can be
downloaded for FTP from SimTel (See Q203).
readme.dvx DVX X11R5 toolkit readme file, readme first!
qdtkt200.zip DVX X11R5 toolkit clients demos and doc files
qdlib200.zip DVX X11R5 toolkit libraries and header files
Q405: What do I need if I want to use DESQview/X's networking features?
A405: DVX allows you to interact with programs running on other DVX and Unix
machines, if the machines are networked.
Three parts are required on a PC to make this work:
(1) DESQview/X
(2) One of the DESQview/X Network Managers sold by Quarterdeck
(3) A networking protocol stack available from another
manufacturer.
DESQview/X is packaged with a Network Manager that allows you to
communicate with other DESQview/X machines. It requires a Novell
or NetBIOS-compatible network protocol stack (IPX/SPX or NetBIOS
compatible).
To communicate with Unix machines, you must have a TCP/IP
protocol stack that DESQview/X can communicate with. The
following products are compatible:
FTP's PCTCP
HP/Lanman TCP/IP
Novell's Lan Workplace for DOS
PathWay Access (from The Wollongong Group Inc.)
BW-TCP and BW-NFS (from Beame & Whiteside Software Ltd.)
PC-NFS (from Sun Microsystems)
Contact Quarterdeck for more details (see Q102).
It is possible to run SLIP with DESQview/X. FTP's 2.1 and higher have
given good SLIP results with 16550 and slipdrv. Beam & Whiteside,
Wollongong, PC-NFS and Novell's full Lan Workplace 4.1 all support
SLIP.
A freeware/shareware solution for SLIP also exists, but it is not
fully supported by Quarterdeck. You can use slipper/pdether/tcpip.exe
(TCPIP.EXE is free with Quarterdeck's TCP/IP network manager and
Slipper and PDether are freeware or shareware). Once you get this
stack setup to the point that TCPIP loads and works, Quarterdeck can
support you. Quarterdeck doesn't support Slipper/Pdether since they
aren't their products. Check out comp.protocols.tcp-ip.ibmpc for support.
QW:263:DVX2XSYS.TEC
Q406: Why don't the tilde(~) and accent grave (`) keys work in my
xterm window when running DESQview/X?
A406: The dwm window manager usurps the "`" key for a quoting character of
its learn feature. When two "`" characters are typed in a row, dwm
passes one along to the application. Unfortunately, it has to do this
as a synthetic key event. The xterm program by default ignores this
synthetic key events, since they can be a security risk. (The key
events could come from any program on any machine on the network, run
by any user.) DESQview/X version 1.0 also sent the "~" key as a
synthetic key event, probably because it is on the same keycap as the
"`", but version 1.1 does not.
Some Solutions:
Set the resource allowSendEvents to true. This will
either be done by the the xrdb utility, or by adding text to the
.Xdefaults file. This will tell xterm to allow synthetic key events
(and will bring up all of the security problems associated with
synthetic key events.) The "`" key will still be have to be hit twice
for it to appear once.
As of verion 1.1 the quoting character can be changed to any key by
changing the "HOTKEY literal {`}" line in the WM.CFG file. The key can
be changed to something else. (Especially something odd like "HOTKEY
literal {Alt-F12}") Removing or commenting out the "HOTKEY literal"
line will make it default to "HOTKEY literal {`}" Once they "HOTKEY
literal" character has been changed, the "`" key only has to be
pressed once, but the character that you have changed it to will not
appear in an xterm window, and will have to be pressed twice in any
other window.
Run a window manager other than DWM. Since only DWM has the Learn
function, it is the only window manager that has this problem. There
are freely distributable window mangers available for FTP at
qdeck.com. Quarterdeck also sells Motif and Open Look window managers.
Toggle the "Secure Keyboard" option keyboard option before typing the
"`" character. This menu item grabs the keyboard from the X server and
will be the only window that receives keyboard input, no matter which
window is the focus window. In this mode ~ and ` will always work and
will only have to be pressed once to appear.
---------------------------------------------------------------------------
Section 5. QEMM - Questions and answers about Quarterdeck's memory manager
Q501: What are Exceptions 12 and 13?
---------------------------------------------------------------------------
Q501: What are Exceptions 12 and 13?
A501: An exception 12 (or 13) is caused by the program you are running doing
something that it is not allowed to do on a 80386 while in Virtual 8086
(V86) mode. Since QEMM is the 386 ``control program,'' it can only
report the error caused by the user program. The main cause is operand
wrapping past the last address in segment, 65,535 (FFFF in hex)
Note that exceptions are only reported by QEMM, and are not caused by
either QEMM or DESQview. They are caused by old programs that assume
they are running on an 80286 or less; or by a program that ``crashed''.
From the INTEL ``80386 Programmer's Reference Manual,''
PART III - COMPATIBILITY
chapter 15, VIRTUAL 8086 MODE
Section 15.6 DIFFERENCES FROM 8086
Stated ``reasons'' 6, 7 & 8
(pages 15-10 & 15-11)
Quoting from the INTEL manual:
15.6 DIFFERENCES FROM 8086
In general, V86 mode will correctly execute software designed for
the 8086, 8088, 80186 and 80188. Following is a list of the minor
differences between 8086 execution on the 80386 and on an 8086.
... (only those causing exception 12 or 13 are listed)
6. Redundant prefixes.
The 80386 sets a limit of 15 bytes on instruction length. The only
way to violate this limit is by putting redundant prefixes before
an instruction. Exception 13 occurs if the limit on instruction
length is violated. The 8086/8088 has no instruction limit.
7. Operand crossing offset 0 or 65,535.
On the 8086, an attempt to access a memory operand that crosses
offset 65,535 (e.g., MOV a word to offset 65,535) or offset 0
(e.g., PUSH a word when SP = 1) causes the offset to wrap around
modulo 65,535. The 80386 raises an exception in these cases -
exception 13 if the data segment (i.e., if CS, DS, ES, FS, or GS is
being used to address the segment), exception 12 if the segment is
a stack segment (i.e., if SS is being used.)
8. Sequential execution across offset 65,535.
On the 8086, if sequence execution of instructions proceeds past
offset 65,535, the processor fetches the next instruction byte from
offset 0 of the same segment. On the 80386, the processor raises
exception 13 in such a case.
In order to fix an Exception 13, you can try to load the program causing
it into a different area of memory. To do this, try increasing your
FILES or BUFFERS, or loading some TSRs low rather than high, etc.
However, the best solution is to contact the programmer. Another
possible solution is to increase the amount of memory specified in
Change A Program.
QW:142:EXCEPT13.TEC, QW:232:EX13FLOW.TEC
---------------------------------------------------------------------------
Section 6. Contributors
---------------------------------------------------------------------------
A large part of the format and content of this document is due to
the previous FAQ editor, Dan Bodoh. He really deserves most of
the credit for this FAQ.
The following people have sent suggestions for entries in the
FAQ. On behalf of all the readers of comp.os.msdos.desqview, I
thank you.
If you see your name here and you didn't actually send me something, I
probably stole a posting of yours for the FAQ.
----
The information in A7 on access to SimTel is from regular postings to
the Usenet newsgroup comp.binaries.ibm.pc.archives by Keith Petersen.
The electronic contacts in A19 are from the QOS note ``CONTACT.TXT''
The international addresses in A19 are from "DESQview User, The
Quarterly Journal for PC and DOS productivity", Issue 4, Spring 1992 and
were sent to me by Klaus Hartnegg.
Most of A20 was copied from Quarterdeck's tech note ``DVBOOK.TEC''
Some of A25 is from Appendix B of the FOSSIL driver manual sent to me by
Stephen Lee.
Information in A8 and A30 was grabbed from Quarterdeck press releases.
The White Pages cross references were provided by Michael Bolton of
Quarterdeck Canada.
alheid@pittpa.cray.com (Greg Alheid)
A15*,A17,A20
aml@world.std.com (Andrew M Langmead)
anasaz!crow@asuvax.eas.asu.edu (Jerry Crow)
arnd@zeus.informatik.rwth-aachen.de (Arnd Gehrmann)
arr@stat.ph.albany.edu (Andrew A. Reilly)
burge@qdeck.com (Bill Burge)
Carl Anderson 1:106/7674
chaz@chinet.chi.il.us (Charlie Kestner)
76711.657@CompuServe.COM (Chris La Mantia)
danb@bunt.sps.mot.com (Dan Bodoh)
dave@monitor.larc.nasa.gov (Dave Hinde)
Dave Osborne 1:123/27.0
dave.williams@chaos.lrk.ar.us (Dave Williams)
docw@qdeck.com (Doc Williamson)
don@qdeck.com (Don Bailey)
dj@ctron.com (DJ Delorie)
dvss!jtroy@udel.edu (Jay Troy)
em21@cunixf.cc.columbia.edu (Eben Moglen)
esiever@world.std.com (Ellen C. Siever)
granz@junkyard.uucp
hartnegg@ibm.ruf.uni-freiburg.de (Klaus Hartnegg
january%polari@uunet.uu.net (Jamie Pehling)
jcorr@splash.princeton.edu (Jim Orr)
jerry@rat.nrl.navy.mil (Jerry Nash)
jmaynard@oac.hsc.uth.tmc.edu (Jay Maynard)
john@stanton.cts.com (John Goodman)
karl.springer%greatesc.com@kaiwan.com (Karl Springer)
kemp@convex.com (Phil Kemp)
kneply@mozart.cs.colostate.edu (Jim Knepley)
lsuc!ontmoh!rwh@cs.toronto.edu (Russell Herman)
Mark Hockings 1:102/824
Michelle at Quarterdeck Canada
mike@batpad.lgb.CA.US (Mike Batchelor)
mtbb136@ms.uky.edu
mvjrs@mvgpk.att.com (Rick Sladkey)
nickw@syma.sussex.ac.uk (Nick Watkins)
noesis@ucscb.ucsc.edu (Kyle ?)
peterson@csc.ti.com (Bob Peterson)
phealy@swift.cs.tcd.ie (Paul ?)
ralf@cs.cmu.edu (Ralf Brown)
reisert@mast.enet.dec.com (James J. Reisert)
rreiner@nexus.yorku.ca (Richard Reiner)
s2942275@techst02.technion.ac.il (Yaniv Golan)
Saar Blitz 2:403/139.0
schuster@panix.com (Mike Schuster)
seant@ratsys.com (Sean True)
senf_ltd@uhura.cc.rochester.edu (Stephen Lee)
smsmith@magnus.acs.ohio-state.edu (Stephen Smith
spit@neuro.duke.edu (Mike Burdick)
support@qdeck.com (Gary Rich)
support@qdeck.com (Doc Williamson)
stern@ims.alaska.edu (Pete Stern)
steveg@orl.mmc.com (Steve Gabrilowitz)
theall@gdalsrv.sas.upenn.edu (George A. Theall)
thuben@kiera.ericsson.se (Thomas Nilsson)
valley@gsbsun.uchicago.edu (Doug Dougherty)
w8sdz@SimTel.Coast.NET (Keith Petersen)
wiget@switch.ch (Margel Wiget)
4carroll_j@spcvxa.spc.edu (Jim Carroll)
--
Andrew Langmead